﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="MoveOptions.cs" company="">
//   
// </copyright>
//  <summary>
//   The move options.
// </summary>
// --------------------------------------------------------------------------------------------------------------------
namespace Shatranj
{
    using System;

    /// <summary>
    /// The move options.
    /// </summary>
    [Flags]
    public enum MoveOptions
    {
        /// <summary>
        /// The all applicable.
        /// </summary>
        AllApplicable, 

        /// <summary>
        /// The en passent.
        /// </summary>
        EnPassent, 

        /// <summary>
        /// The allow illegal.
        /// </summary>
        AllowIllegal, 

        /// <summary>
        /// The manual.
        /// </summary>
        Manual = AllowIllegal, 

        /// <summary>
        /// The advance only.
        /// </summary>
        AdvanceOnly, 

        /// <summary>
        /// The withdraw only.
        /// </summary>
        WithdrawOnly, 

        /// <summary>
        /// The mate if possible.
        /// </summary>
        MateIfPossible, 

        /// <summary>
        /// The capture if possible.
        /// </summary>
        CaptureIfPossible, 

        /// <summary>
        /// The check if possible.
        /// </summary>
        CheckIfPossible, 

        /// <summary>
        /// The allow jump over.
        /// </summary>
        AllowJumpOver, 

        /// <summary>
        /// The deny jump over.
        /// </summary>
        DenyJumpOver, 

        /// <summary>
        /// The capture across.
        /// </summary>
        CaptureAcross, 

        /// <summary>
        /// The deny capture across.
        /// </summary>
        DenyCaptureAcross, 

        /// <summary>
        /// The allow initial max step.
        /// </summary>
        AllowInitialMaxStep
    }
}